Regras em script

Nesta seção:

Sobre as regras em script

As regras em script permitem que regras personalizadas sejam criadas usando-se scripts do Windows PowerShell ou em VB. O sucesso ou falha do script determina se o nível de segurança, os itens permitidos e os itens negados que fazem parte da regra serão aplicados ao usuário.

As regras em script podem utilizar qualquer interface acessível via PowerShell ou VBScript, como COM (Component Object Model).

Cada script é avaliado sob as seguintes circunstâncias:

  • Quando uma nova configuração é implantada no computador;
  • Quando um usuário faz logon.

Para criar ou editar scripts, acesse o Conjunto de Regras em Script desejado no Editor de Configuração do Controle de Aplicativos. Conjuntos de Regras > Em Script > [Nome do Conjunto de Regras]

Você pode definir quando o script será executado usando as seguintes opções da Regra em Script:

  • Executar script:
    • Por sessão como usuário - o script é executado para cada usuário que faz logon. As configurações são aplicadas somente enquanto durar a sessão do usuário.
    • Por sessão como SISTEMA - o script é executado com permissões da conta SYSTEM uma única vez para cada usuário que faz logon. As configurações são aplicadas somente enquanto durar a sessão do usuário.
    • Por computador como SISTEMA - o script é executado com permissões da conta SYSTEM uma única vez na inicialização do computador. As configurações são aplicadas a todas as sessões de usuário até que o computador seja reiniciado, o agente do Controle de Aplicativos seja reiniciado ou haja uma mudança de configuração.

    Cuidado: a execução de scripts como usuário SYSTEM pode causar sérios danos ao seu computador e só deve ser habilitada por autores de script experientes.

  • Aguardar conclusão do logon - selecione para impedir a execução do script até que o logon do usuário esteja concluído.

VBScripts

Cada script é executado em um mecanismo hospedado, o que permite maior controle sobre a execução dele e fornece alto grau de controle quanto a entradas e saídas.

  • Nenhum arquivo VBS é usado.
  • Nenhum processo separado é gerado.

Um script deve ser escrito como uma função e pode conter várias funções, mas é necessário especificar uma função inicial principal. A função inicial é executada pelo agente do Controle de Aplicativos e pode ser usada para chamar outras funções.

O objeto COM AMScriptRule está incorporado ao mecanismo de script e fornece acesso aos seguintes métodos:

  • strUsername = AMScriptRule.UserName
  • strUserdomain = AMScriptRule.UserDomain
  • strSessionid = AMScriptRule.SessionID
  • strStationname = AMScriptRule.WinStation

    O padrão da Microsoft nessa instância significa que WinStation retorna o valor do nome da Sessão de Serviços de Terminal, que é determinado pelo tipo de sessão, com os valores típicos sendo "Console" ou "RDP-Tcp#34", em vez do nome da Estação Windows, que normalmente é WinSta0.

O objeto COM AMScriptRule também inclui os seguintes métodos:

  • strLog = AMScriptRule.Log "My Log Statement"

    Permite enviar strings de log ao arquivo de log do agente para uso com regras de depuração em script.

  • strEnvironmentvar = AMScriptRule.ExpandEnvironment ("%MyEnvironmentVariables%")

    Expande as variáveis de ambiente do usuário que está executando o script.

Usar WScript.shell para expandir variáveis ​​de ambiente retorna apenas variáveis ​​SYSTEM.

Scripts do Windows PowerShell

Se o script retornar (sair) com valor 0, o script será aprovado, e as regras serão aplicadas. Se for retornado um valor diferente de zero, o script falhará, e as regras não serão aplicadas.

Cada script do PowerShell é executado em uma instância do PowerShell.exe e, sendo assim, o Controle de Aplicativos não impõe nem adiciona nenhuma sintaxe específica – todo PowerShell corretamente formatado vai funcionar.

O PowerShell deve estar instalado em todos os pontos de extremidade que usarão o script.

Scripts de exemplo

Tópicos relacionados

Conjuntos de Regras

Coleções de regras